import routes, { IRoute } from "./routes";
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
const App: React.FC = () => {
	// 拦截路由函数
	const beforeEach = (v: IRoute) => {
		const token = localStorage.getItem('token');
		const whiteList = ['/login', '/register']

		// if (whiteList.includes(v.path)) {
		// 	if (token) {
		// 		// 重定向到首页
		// 		console.log(111111111);

		// 		return <Navigate to="/"></Navigate>
		// 	} else {
		// 		// 正常访问
		// 		console.log(22222222);

		// 		return v.element && <v.element></v.element>
		// 	}
		// } else {
		// 	if (token) {
		// 		//  正常访问
		// 		console.log(333333333)
		return v.element && <v.element></v.element>
		// 	} else {
		// 		// 进入登录页面
		// 		console.log(44444444444);

		// 		return <Navigate to="/login"></Navigate>
		// 	}
		// }


	}


	//  渲染路由简述
	const routerView = (routes: IRoute[]) => {
		return (
			<>
				{
					routes.length > 0 && routes.map((v, i) => {
						if (v.element) {
							// 说明 组件
							return <Route key={i} path={v.path} element={beforeEach(v)}>
								<>
									{v.children && routerView(v.children)}
								</>
							</Route>
						} else if (v.navagite) {
							// 重定向
							return <Route key={i} path={v.path} element={<Navigate to={v.navagite}></Navigate>}></Route>
						}
					})
				};
			</>
		)
	}


	return (
		<BrowserRouter>
			<Routes>
				{
					routerView(routes)
				}
			</Routes>
		</BrowserRouter>
	)
}


export default App